1. Field
One or more embodiments relate to an image data processing apparatus and method that may determine, based on a correlation of macroblocks (hereinafter, referred to as blocks) of the image data, an encoding order of image data having a high resolution, and may determine, based on the determined encoding order, a decoding order of the image data, so that the blocks may be efficiently processed in parallel during encoding or decoding of the image data.
2. Description of the Related Art
With developments in network and display technologies, schemes for encoding and decoding of moving images with higher resolution are in demand.
There is a demand for schemes of parallel encoding and decoding a moving image with a high resolution using a plurality of parallel calculation apparatuses. To increase an efficiency of encoding moving image information, information regarding blocks neighboring a current block is generally used. Accordingly, the current block may be encoded and decoded after the neighboring blocks are completely encoded and decoded. In other words, it is impossible to simultaneously encode and decode a plurality of blocks.
Typically, to encode and decode the current block, data of a block that is completely encoded and decoded in advance may be used, among a left block, an upper left block, an upper block, and an upper right block that enclose the current block.
Accordingly, diagonally arranged blocks may be processed in parallel. However, since encoding may be performed in an order from blocks in an uppermost column to blocks on a lowermost column, an encoding pattern may be inconsistent with a parallel processing pattern.
Conventionally, to encode an image, a variable-length encoding and decoding process based on a regular size may be performed, and remaining blocks may then be processed in parallel. Here, memory utilization may be excessively increased, since a large amount of data stored in a memory is again loaded and used. Additionally, system performance may be reduced due to the additional operations for storing and loading a large amount of data.